Integrated wi-fi location

ABSTRACT

An apparatus includes an integrated circuit that includes a microprocessor and a microcontroller unit circuit (MCU) coupled to the microprocessor. The MCU includes a central processing unit (CPU) core and a network processor that implements a wireless interface. The MCU is configured to execute a location application that facilitates a determination of a physical location of the apparatus. The MCU may also be configured to support one or more management functions. The microprocessor sends data to the MCU for wireless transmission by the MCU&#39;s wireless interface.

BACKGROUND

Many portable electronic devices used, for example, in enterprisesettings incorporate Wi-Fi for data communication. Examples of suchportable devices include logic analyzers used in corporate labs andpatient bedside monitors used in hospitals. These products typicallyexecute an embedded high-level operating system such as Linux and areplugged into the building electrical power system. When the equipment ispowered, data may be captured, displayed locally and transmitted via aninternal Wi-Fi interface to a remote device (e.g., a centralized serveror database). When the equipment is not powered, the Wi-Fi connection islost. When not needed, portable equipment often is unplugged from apower outlet (e.g., wall outlet, power strip).

The enterprise may desire to track the location of the equipment, evenwhen the equipment is powered off. Accordingly, some enterprises useself-contained battery-powered radio location tags for equipmenttracking purposes. Various radio frequency (RF) protocols can be usedfor tracking purposes including Bluetooth, sub-1 GHz and Wi-Fi. WhenWi-Fi is used for location, a Wi-Fi tag is adhered to the exterior ofequipment to be tracked and can exchange wireless signals with a Wi-Fiaccess point for location determination purposes.

SUMMARY

In one example, an apparatus includes an integrated circuit thatincludes a microprocessor and a microcontroller unit circuit (MCU)coupled to the microprocessor. The MCU includes a central processingunit (CPU) core and a network processor that implements a wirelessinterface. The MCU is configured to execute a location application thatfacilitates a determination of a physical location of the apparatus. Themicroprocessor sends data to the MCU for wireless transmission by theMCU's wireless interface.

BRIEF DESCRIPTION OF THE DRAWINGS

For a detailed description of various examples, reference will now bemade to the accompanying drawings in which:

FIG. 1 illustrates a hardware diagram of a system in accordance with thedescribed examples.

FIG. 2 illustrates a software architecture implemented on the system ofFIG. 1.

DETAILED DESCRIPTION

The equipment described above typically includes an embedded host systemand a Wi-Fi interface. The embedded host system includes a processor,memory, and a Wi-Fi transceiver. The Wi-Fi tag is a self-containedbattery powered device that is physically attached to the equipmentafter purchase. The Wi-Fi tag includes its own Wi-Fi transceiver coupledto a network processor and a microprocessor. The Wi-Fi tag isbattery-powered and the embedded host system is line-powered. Whenline-powered, the embedded host system executes an application (e.g.,logic analyzer application, patient bedside monitor application, etc.).The embedded host system uses its own Wi-Fi transceiver to send andreceive data wirelessly when executing the embedded application. Often,such transmissions are secured through the use of protocols such asTransport Layer Security (TLS) that rely on security certificates. Inone example, a security certificate is generated by a CertificateAuthority (CA) and used to digitally sign and verify a communicationto/from the embedded host system. Such security certificates often havea defined lifetime, at the end of which the certificate is no longervalid and must be re-generated by the CA and stored in non-volatilememory in the embedded system.

As explained above, the Wi-Fi tag has its own Wi-Fi transceiver, networkprocessor, and microcontroller that executes a location applicationusable to assist the network in which the equipment operates todetermine an approximate physical location of the equipment (e.g.,room-level accuracy). As the Wi-Fi tag is battery-operated, the networkcan determine the physical location of the equipment whether or not theequipment's embedded system is line-powered and operational. However,because the Wi-Fi tag typically is an after-market, external addition tothe equipment that includes a second Wi-Fi interface, it addsconsiderable cost in terms of added equipment and technicianinstallation time. The equipment is line powered, and when line power isnot available the equipment cannot connect to the network and cannot bemanaged remotely. For example, a new security certificate cannot bewirelessly transmitted to and stored in the embedded system. Instead,the equipment would need to be located via the battery-powered Wi-Fitag, physically brought to a maintenance area, and turned on via linepower so that its security certificate can be replaced.

The innovative system described below includes a power-efficient Wi-Fitransceiver that is shared by both the embedded system's line-poweredprocessor, as well as the location system's microcontroller unit (MCU).Thus, two separate Wi-Fi transceivers are not necessary for location andembedded application purposes. Further, the power architecture for thesystem described below is different than for the conventional systemdescribed above. In the conventional system described above, the Wi-Fitag receives its power only from its battery, while the embedded systemreceives line power (when available). The system described below,however, includes a power circuit that provides line power (whenavailable) to both the embedded system and the location system. Whenline power is not available, the power circuit operationally couples abattery to the power efficient location system, but not the embeddedsystem. Accordingly, power is continually provided to the locationsystem and location determinations can be made whether or not theequipment receives line power and the embedded system is powered on.

The location system also includes a flash memory device, which thus isoperable from line power or battery power. The flash memory device ofthe location system can be used to receive and store securitycertificates used by the location system or by the embedded system.Because the location system operates from battery power when line poweris unavailable and the location system includes both the Wi-Fitransceiver as well as the flash memory device, new securitycertificates can be wirelessly received by the location system even whenline power is unavailable, thereby avoiding the manual effort oflocating the equipment, physically moving it to a maintenance area, andturning it on to be able provide it with a new security certificate.

FIG. 1 shows an example of an apparatus 100 that includes an embeddedsystem 101, a location system 118, a power circuit 130, and a battery140. Additional components can be included as desired. The embeddedsystem 101 includes a microprocessor unit (MPU) 102 (also termed a“processor”), a display 103, flash memory 104, and random-access memory(RAM) 106. The location system 118 includes a microcontroller unit (MCU)120 (also termed a “processor”), flash memory 122, and a sensor 119(e.g., a motion sensor, a temperature sensor, etc.). The flash memories104 and 122 comprise re-programmable, non-transitory storage devices andcan be used to store, for example, executable code, securitycertificates, and other information.

The MPU 102 of the embedded system 101 executes an application 107stored in flash memory 104. The application 107 may be executed directlyfrom flash memory 104, or may be copied to RAM 106 for executiontherefrom. When executed, the application 107 causes the MPU 102 toimplement one or more functions for apparatus 100. For example, theapplication 107 can cause the MPU 102 to acquire data, display data ondisplay 103, and transmit data wirelessly to a device remote from theapparatus 100. The application 107 may cause the MPU 102 in theapparatus 100 to function as a logic analyzer, patient bedside monitor,or other type of equipment.

The flash memory 122 of the location system 118 stores a locationapplication 123, which is executable by the MCU 120. The flash memory122 also can be used to store one or more security certificates 124usable for authenticating the apparatus 100 to a remote device receivingpackets from the apparatus. A first certificate can be used by thelocation system's MCU 120 during transmissions with an access point todetermine the location of apparatus 100. A second certificate can beused by the MPU 102 when executing application 107 (e.g., to transmitlogic analyzer or patient data to a network) and sending/receivingpackets to/from a network.

The location system 118 determines, or at least facilitates thedetermination of, the location of the apparatus 100. In one example, thelocation system 118 records an identifier of an Wi-Fi access point towhich the Wi-Fi transceiver 121 is associated. When prompted for theaccess point identifier from a remote device, the Wi-Fi transceiverresponds with the requested identifier. The physical locations of theaccess points are known apriori and thus, within the communication rangeof the access points, the location of the apparatus 100 can bedetermined. In one implementation, room-level accuracy is possible. Inanother example, the location system 118 calculates the time of flightof Wi-Fi data frames to any one or more of multiple access points sothat the resulting timing information can be used to calculate thelocation of the equipment containing location system 118. In anotherexample, the sensor 119 connected to MCU 120 can be used to triggerwaking the MCU (from a lower power mode of operation) and/ortransmission of a notification (e.g., Wi-Fi data frame) to a localaccess point to send an alert that the equipment has been moved. Oncewoken, the MCU 120 (or network processor) can receive managementrequests to, for example, change security parameters such as a digitalcertificate, an encryption key, etc. In some implementations, an accesspoint can send a data frame to the MCU 120 without having a sensortriggering a wake-up event.

The power circuit 130 includes a power detector circuit 132 and a powerswitch 134. The power switch 134 may comprise a transistor such as oneor more metal oxide semiconductor field effect transistors (MOSFETs).The power detector circuit 132 of the power circuit 130 is coupled to aline voltage source node 150, which itself can be connected to analternating current (AC) voltage supply such as via a wall outlet orpower strip. The power circuit 130 also couples to a battery node 152 ofbattery 140. When line power is available on voltage source node 150,line power is provided to the embedded system 101 and through powerswitch 134 to the location system 118. The power detector 132 detectswhether the voltage level on the line voltage source node 150 is above athreshold voltage level. The voltage on node 150 being above thethreshold indicates that line voltage is available and provided to theapparatus 100. Accordingly, the power detector circuit 132 configuresthe power switch 134 into the state as shown in FIG. 1 to allow linevoltage to be provided through the power switch 134 to the locationsystem 118. If the power detector circuit 132 does not detect a linevoltage in excess of the threshold, then the power detector circuit 132configures the power switch 134 to the opposite state to electricallycouple battery 140 to the location system 118. In this latter state, thelocation system 118 operates from battery power, and the embedded systemis non-operational. In another example, battery 140 is rechargeable andis charged when line power is available.

The MCU 120 in this example includes a Wi-Fi transceiver 121. The MCU120 is electrically coupled to the MPU 102 of the embedded system 101via communication link 105. The communication link 105 may be serial orparallel and the data frame encapsulation may be chosen for convenientimplementation based on the operating system and network stacks used inthe apparatus 100. When the apparatus 100 is connected to a source ofline power and the embedded system 101 is turned on, the MPU 102 cantransmit data to the MCU 120 over link 105, for the MCU 120 to havewirelessly transmitted via its Wi-Fi transceiver 121 to a remote device.Accordingly, the embedded system 101 need not include (but couldinclude) its own Wi-Fi transceiver. If a security certificate is to beused for the transmission of data originated by the MPU 102, acertificate 124 from flash memory 122 can be used. Alternatively, acertificate provided wirelessly to the location system's flash memory122 can be transmitted via the MCU 120 to the MPU 102 and stored in theembedded system's flash memory 104, and used therefrom for securityauthentication and other purposes.

In one implementation, the MCU 120 of the location system 118 isfabricated as an integrated circuit (IC) on a semiconductor die, and theMPU 102 of the embedded system 101 is fabricated as an IC on a separatesemiconductor die. The flash memory 122 may be fabricated on the samedie as the MCU 120, or the flash memory 122 may be fabricated on aseparate die from the die containing MCU 120. Similarly, the flashmemory 104 and RAM 106 may be fabricated on the same die as the MPU 102,or the flash memory 104 and RAM 106 may be fabricated on a separate diefrom the die containing the MPU 102. In another implementation, a singlesemiconductor die can include the MPU 102 and the MCU 120.

FIG.2 depicts an example of a software architecture implemented onapparatus 100. The software in the embedded system 101 includes anapplication 107 and a Transmission Control Protocol/Internet Protocol(TCP/IP) stack 204, both of which are stored on flash memory 104 andexecuted by the MPU 102. The application 202 causes the MPU 102 toprovide the functionality of the embedded system (e.g., logic analyzer,bedside monitor, etc.).

The software in the location system 118 includes a location application210, a TCP/IP stack 212, and a Media Access Control (MAC) data linklayer 214, all of which are stored on flash memory 122 and are executedby the MCU 120. The location application 210 causes the MCU 120 toassist in the determination of the location of the apparatus 100.Determining the location of the apparatus also of course meansdetermining the location of any of the components of the apparatus suchas the flash memory 122 within the location system 118.

A physical (PHY) layer 216 includes the Wi-Fi transceiver and wirelesslysends and receives packets. Data generated by location application 210and to be sent as packets to a remote device for location assessmentpurposes may be encapsulated with headers in accordance with the TCP/IPprotocols and provided through the MAC data link layer 214 to the PHY216 for transmission therefrom. Packets received by the PHY 216 andtargeting the location application 210 progress in the oppositedirection through, for example, the MAC data link layer 214 and theTCP/IP stack 212.

Data generated by the application 107 of the embedded system 101 isencapsulate with TCP/IP headers by the TCP/IP stack 204 executing on theembedded system's MPU 102. An Application Programming Interface (API) isexposed to the MAC data link layer 214 to permit a packet from theembedded system's TCP/IP stack 204 to be processed by the locationsystem's MAC data link layer 214. As an example, TCP/IP stack 204 sendsand receives frames to and from MAC 214 using IEEE 802.3 ethernet formatencapsulation.

The hardware architecture of FIG. 1 and the software architecture ofFIG. 2 provide several benefits relative to the use of Wi-Fi tags thatare not operably connected to the embedded system, and which means theembedded system and the Wi-Fi tag have separate Wi-Fi transceivers.First, the disclosed examples of FIGS. 1 and 2 include a Wi-Fitransceiver 121 that is shared by both the MCU 120 of the locationsystem 118 and the MPU 102 of the embedded system 101. Thus, only oneWi-Fi transceiver need be present (although more than one can beincluded as desired). Fewer hardware components generally results in amore reliable and less costly system. Second, the software executing onthe location system's MCU 120 includes a MAC data link layer 214 that isused by the software executing on the embedded system's MPU 102.Accordingly, the embedded system 101 need not include its own MAC datalink layer, thereby simplifying the software design for apparatus 100.Third, because the location system 118 is continuously operational(either line-powered or battery-powered), maintenance operations can beperformed wirelessly on the apparatus 100 without locating andphysically moving the apparatus to a maintenance area. The locationsystem 118 includes a Wi-Fi transceiver 121 and flash memory 122 whichpermits, for example, a new security certificate to be wirelesslytransmitted to the location system for storage in the flash memory 122and subsequent use by the embedded system 101 after the embedded systemis powered on via line power. Alarms can be triggered through wirelessaccess to the location system 118. For example, if the equipment isdetermined to be located in an improper location, a wireless messagecould be sent to the location system 118 to trigger an alarm (e.g.,siren, flashing light, voice alert, etc.).

In this description, the term “couple” or “couples” means either anindirect or direct wired or wireless connection. Thus, if a first devicecouples to a second device, that connection may be through a directconnection or through an indirect connection via other devices andconnections. Modifications are possible in the described embodiments,and other embodiments are possible, within the scope of the claims.

1. An apparatus, comprising: an integrated circuit that includes: amicroprocessor; a microcontroller unit circuit (MCU) coupled to themicroprocessor, the MCU is coupled to or includes a network processorthat implements a wireless interface, and the MCU is configured toexecute a location application that facilitates a determination of aphysical location of the apparatus; wherein the microprocessor isconfigured to send application data to the MCU for wireless transmissionby the MCU's wireless interface.
 2. The apparatus of claim 1, furthercomprising a battery and a power circuit, the power circuit is coupledto a line voltage source node and a battery node, the power circuitincluding a power detector circuit and a power switch, wherein:responsive to the power detector circuit detecting the presence of linepower, the power switch is configured to provide power to themicroprocessor and to the MCU; and responsive to the power detectorcircuit not detecting the presence of line power, the power switch isconfigured to prevent the microprocessor from receiving power and isconfigured to provide battery power to the MCU.
 3. The apparatus ofclaim 2, further comprising a sensor coupled to the MCU, the sensorconfigurable to wake the MCU upon detection of an event to trigger analarm.
 4. The apparatus of claim 3, wherein the sensor comprises atleast one of a motion sensor and a temperature sensor.
 5. The apparatusof claim 2, wherein, in response to a signal from the sensor, the MCU isconfigured to transmit a wireless notification of the event.
 6. Theapparatus of claim 2, wherein the MCU or network processor is configuredto receive a wireless wake request, and after being woken, to receive amanagement request.
 7. The apparatus of claim 1, wherein the battery isrechargeable.
 8. The apparatus of claim 1, wherein: the microprocessoris to execute a first software stack, the first software stack includinga first transmission control protocol/internet protocol (TCP/IP) layer;the MCU or network processor is to execute a second software stack, thesecond software stack including a second TCP/IP layer and a media accesscontrol (MAC) layer; wherein the first TCP/IP layer and the secondTCP/IP layer are to access the MAC layer using separate applicationprogramming interfaces (APIs).
 9. The apparatus of claim 1, wherein: themicroprocessor is to execute a first software stack, the first softwarestack including a first transmission control protocol/internet protocol(TCP/IP) layer; the MCU or network processor is to execute a secondsoftware stack, the second software stack including a second TCP/IPlayer; wherein the first TCP/IP layer and the second TCP/IP layer are toaccess a media access control (MAC) using separate applicationprogramming interfaces (APIs).
 10. The apparatus of claim 1, wherein themicroprocessor executes a Linux operating system.
 16. A method,comprising: determining, by a microcontroller unit circuit (MCU),location information to facilitate determination of a location ofequipment containing the MCU; transmitting application data, from amicroprocessor to the MCU; and causing, by the MCU, the application dataand the location information to be wirelessly transmitted to a receiver.17. The method of claim 16, further comprising receiving, by the MCU, asignal from a sensor to wake the MCU.
 18. The method of claim 17,wherein the sensor comprises at least one of a motion sensor and atemperature sensor.
 19. The method of claim 17, wherein, in response tothe signal from the sensor, the method comprises transmitting, by theMCU, a wireless notification of an event.
 20. The method of claim 17,further comprising: receiving, by the MCU, a wireless wake request; andreceiving, by the MCU, a management request comprising a securityparameter.